package com.lipaluma.annotations.validations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.lipaluma.field.validator.Validator;

@Documented
@Inherited
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ValidateDate {
	
	Class<? extends Validator>[] customs() default {};

	boolean required() default false;

	String after() default "";
	
	String before() default "";
	
	String pattern() default "";
	
	boolean constant() default false;
	
	String constantValue() default "";

	boolean constantSupplied() default false;
	
	boolean unique() default false;
	
	String[] includedIn() default {};

	String[] excludedOf() default {};

}
